# Logo indexing
After upload all logos of a specific customer are stored within a certain directory inside the CIFS share.
At this point all logo semantics are represented by their filesystem location.
# processCustomer / pentaho
The main process is implemented using the low-code platform
pentaho (aka kettle), installed at bisrv1 (on LAN).
Its only parameter is the customer ID (cardCode). Once invoked
it gathers all possible customer logos by traversing the
CIFS filesystem. It additionally queries the CRM database
for shop events containing logos (no decoupling yet).
# Synchronised invocation of processCustomer
Pentaho processes are asynchronous jobs. The renovation of the complete
processCustomer job had to forfill these requirements:
- No parallel invocation of
processCustomerfor the same customer. - User feedback about the current process state and result.
Since this cannot be implemented easily in pentaho an API service exist as a proxy / flyweight between the applications and pentaho:
# CardJobAPI
- GIT:
ssh://git@gifham017.local.giffits.de:7999/mic/cardjobapi.git - Deployment:
Via Bamboo as docker containercardjobapion GIFHAM006. - Base URL:
http://giffits.local.giffits.de:8583
# Endpoints:
Method: GET
/state/cardcode/CARDCODE
Returns JSON containing details about CARDCODE,
including state of a possibly still running process./state/cardcode/jobid/JOBID
Returns JSON containing details about pentaho job
identified by JOBID, including state of a possibly still running process./cardcode/process/CARDCODE
Starts a newprocessCardcoderun, but only if it isn't running yet. Returns JSON containing details about pentaho job.
All endpoints allow for an additional GET parameter:
?fullLog=1JSON contains the full log output from pentaho.
# CardJobAPI consumers
- GVV
- Docky
Planned:
- GVV/external
- Docky/external